package com.edu.exam.enums.quality.monitoring;

/**
 * 违规严重程度枚举
 * 
 * <p>定义违规行为的严重程度分类。</p>
 * 
 * @author 系统生成
 * @version 1.0
 * @since 2025-11-10
 */
public enum ViolationSeverity {
    
    /**
     * 轻微
     * <p>轻微违规行为，影响较小。</p>
     */
    MINOR("轻微", "轻微违规行为，影响较小"),
    
    /**
     * 一般
     * <p>一般违规行为，有一定影响。</p>
     */
    MODERATE("一般", "一般违规行为，有一定影响"),
    
    /**
     * 严重
     * <p>严重违规行为，影响较大。</p>
     */
    SERIOUS("严重", "严重违规行为，影响较大"),
    
    /**
     * 重大
     * <p>重大违规行为，严重影响系统运行。</p>
     */
    MAJOR("重大", "重大违规行为，严重影响系统运行");
    
    private final String displayName;
    private final String description;
    
    ViolationSeverity(String displayName, String description) {
        this.displayName = displayName;
        this.description = description;
    }
    
    public String getDisplayName() {
        return displayName;
    }
    
    public String getDescription() {
        return description;
    }
    
    /**
     * 根据显示名称获取枚举
     * 
     * @param displayName 显示名称
     * @return 对应的枚举值
     */
    public static ViolationSeverity fromDisplayName(String displayName) {
        for (ViolationSeverity severity : values()) {
            if (severity.getDisplayName().equals(displayName)) {
                return severity;
            }
        }
        return MODERATE;
    }
    
    }